package com.moli.iov.sys.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.moli.iov.model.dto.req.PageExtend;
import com.moli.iov.sys.model.dto.req.UserDto;
import com.moli.iov.sys.model.po.User;
import java.util.List;

/**
 * <p>
 *  用户业务
 * </p>
 *
 * @author zql
 * @since 2019/9/9 11:16
 */
public interface IUserService extends IService<User> {

  /**
   * 分页查询用户列表
   * @param userDto
   * @return
   */
  PageExtend<User> listUserOfPage(UserDto userDto);

  /**
   * 用户列表
   * @param userDto
   * @return
   */
  List<User> listUsers(UserDto userDto);

  /**
   * 根据用户Id查询用户信息
   * @param userId
   * @return
   */
  User getUserByUserId(Long userId);

  /**
   * 根据账号查询用户信息
   * @param account
   * @return
   */
  User getUserByAccount(String account);

  /**
   * 添加用户
   * @param user
   * @return
   */
  User saveUser(User user);

  /**
   * 修改用户/重置密码
   * @param user
   * @return
   */
  boolean updateUser(User user);

}
